#pragma once
#include <vector>
#include <string>
#include <map>
#include <Windows.h>
#include "Entity.h"
using std::vector;
using std::string;
using std::map;
#include "Entity.h"

class CTile : public CEntity
{
public:
	CTile(void);
	~CTile(void);

	void Render() {};
	void Update(float fElaspedTime)  { } ;
	virtual RECT GetRect(void)const;

	//Accessors
	int GetTilePosX				(void) const { return m_nPosX; }
	int GetTilePosY				(void) const { return m_nPosY; }
	int GetSRectLeft		(void) const { return m_nSRectLeft; }
	int GetSRectTop			(void) const { return m_nSRectTop; }
	int GetSRectRight		(void) const { return m_nSRectRight; }
	int GetSRectBottom		(void) const { return m_nSRectBottom; }
	int GetCRectLeft		(void) const { return m_nCRectLeft; }
	int GetCRectTop			(void) const { return m_nCRectTop; }
	int GetCRectRight		(void) const { return m_nCRectRight; }
	int GetCRectBottom		(void) const { return m_nCRectBottom; }
	string GetTileEvent		(void) const { return m_sTileEvent; }
	string GetNameID		(void) const { return m_sNameID; }
	bool GetCollision		(void) const { return m_bCollision; }

	//Mutators 
	void SetPosX				(int X)	{ m_nPosX = X; }
	void SetPosY				(int Y) { m_nPosY = Y; }
	void SetSRectLeft			(int rL) { m_nSRectLeft = rL; }
	void SetSRectTop			(int rT) { m_nSRectTop = rT; }
	void SetSRectRight			(int rR) { m_nSRectRight = rR; }
	void SetSRectBottom			(int rB) { m_nSRectBottom = rB; }
	void SetCRectLeft			(int cL) { m_nCRectLeft = cL; }
	void SetCRectTop			(int cT) { m_nCRectTop = cT; }
	void SetCRectRight			(int cR) { m_nCRectRight = cR; }
	void SetCRectBottom			(int cB) { m_nCRectBottom = cB; }
	void SetTileEvent			(string tE) { m_sTileEvent = tE; }
	void SetNameID				(string nID) { m_sNameID = nID; }
	void SetCollision			(bool c) { m_bCollision = c; }

private:
	int m_nPosX;
	int m_nPosY;
	int	m_nSRectTop;
	int m_nSRectLeft;
	int m_nSRectRight;
	int m_nSRectBottom;
	string m_sTileEvent;
	int m_nCRectLeft;
	int m_nCRectTop;
	int m_nCRectRight;
	int m_nCRectBottom;
	string m_sNameID;
	bool m_bCollision;
};

